<?
	include('simple_image.php');	
?>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<pre>
<?
	//$x = 'asdakjsldkjasdlkajlsasdasdsdasdasasdakjsldkjasdlkajlsasdasdsdasdasasdakjsldkjasdlkajlsasdasdsdasdasasdakjsldkjasdlkajlsasdasdsdasdasasdakjsldkjasdlkajlsasdasdsdasdasasdakjsldkjasdlkajlsasdasdsdasdasasdakjsldkjasdlkajlsasdasdsdasdasasdakjsldkjasdlkajlsasdasdsdasdas';
	//$y = gzcompress($x);
	//print($y);
	//die();


	// Проверяем ключ доступа.
	if ($_REQUEST['pass'] != 'asdljhgawy7918y3eiquhbdkajfhsa98yi34ehksdjfhsdjfhe34hfj')
	{
		//die('Access denied.');
	}
	$time = microtime(true);

	include('configuration.php');
	$conf = new JConfig();
	
	mysql_connect($conf->host, $conf->user, $conf->password);
	mysql_select_db($conf->db);
	mysql_query("SET NAMES utf8");
	mysql_query("SET CHARACTER SET utf8"); 

	//$table = 'jos_vm_product'; // Имя таблицы для занесения данных.
	// ('new') / ('rart') / ('grind') / ('name') / ('price') / ('has') / ('img') / ('desc')
	//$fields = array('name', 'art', 'price', 'has', 'img', 'desc'); // Эти поля приходят от клиента.
	//$fields = array('product_name', 'product_sku', 'price-', 'product_availability', 'product_full_image', 'product_desc'); //'link', 

	echo '<table border="1">';
	$r = mysql_query('SELECT product_sku, product_price from jos_vm_product, jos_vm_product_price  WHERE
		jos_vm_product.product_id=jos_vm_product_price.product_id ORDER BY jos_vm_product.product_sku');
	while($a =  mysql_fetch_assoc($r))
	{
		echo '<tr>';
		foreach ($a as $k => $v)
		{
			echo '<td>'.$k.':'.$v.'</td>';
		}
		echo '</tr>';
	}
	echo '</table>';
	
	die();


	// Найти id категории поимени.
	function find_category($name = '', $pid)
	{
		$res = 0;
		$r = mysql_query('
			SELECT
				cat.category_id
			FROM
				jos_vm_category cat, jos_vm_category_xref xref
			WHERE
				cat.category_name='.$name.' AND cat.category_id=xref.category_child_id AND xref.category_parent_id='.(int)$pid);
				
		if (mysql_num_rows($r))
		{
			$a = mysql_fetch_row($r);			
			$res = (int)$a[0];
		}
		else
		{
			$res = -1;
		}
		mysql_free_result($r);
		return $res;
	}
	
	// Добавить категорию с именем $name в категорию с id = $pid.
	function add_category($name, $pid)
	{
		$r = mysql_query('SELECT COUNT(category_id) FROM jos_vm_category WHERE category_id='.$pid);
		$a = mysql_fetch_row($r);
		$a = $a[0];
		
		if (!$a) return -1;
	
		// Добавляем категорию.
		$sql = 'INSERT INTO jos_vm_category(category_name, category_publish, category_browsepage, products_per_row, category_flypage)';
		$sql .= ' VALUES('.$name.', "Y", "managed", 1, "flypage.tpl")';
		mysql_unbuffered_query($sql);
		
		echo 'Category added: '.$name.'<br>';
		
		// Получаем id созданной категории.
		$r = mysql_query('SELECT MAX(category_id) FROM jos_vm_category');
		$a = mysql_fetch_row($r);
		$cid = $a[0];
		mysql_free_result($r);
		
		// Привязываем созданную категорию к родительской.
		$sql = 'INSERT INTO jos_vm_category_xref(category_parent_id, category_child_id) VALUES('.$pid.', '.$cid.')';
		mysql_unbuffered_query($sql);
		
		return $cid;
	}

	// Получить id категории дочерней для $pid с именем $name или создать такую категорию.
	function add_or_get_category($name, $pid)
	{
		$id = find_category($name, $pid);
		if ($id == -1) $id = add_category($name, $pid);
		
		echo 'add_or_get_category:'.(int)$id.'<br>';
		return $id;			
	}



/*

	// Удалили товар.
	mysql_unbuffered_query('DELETE FROM jos_vm_product');
	echo mysql_error().'<br>';
	// Удалили цену товара.
	mysql_unbuffered_query('DELETE FROM jos_vm_product_price');
	echo mysql_error().'<br>';
	// Удалили связку товар-категория.					
	mysql_unbuffered_query('DELETE FROM jos_vm_product_category_xref');
	echo mysql_error().'<br>';
	// Удалили связку категория-категория.					
	mysql_unbuffered_query('DELETE FROM jos_vm_category_xref WHERE category_child_id > 90');
	echo mysql_error().'<br>';
	// Удалили связку категория-категория.					
	mysql_unbuffered_query('DELETE FROM jos_vm_category WHERE category_id > 90');
	echo mysql_error().'<br>';

*/

	
	$xml = new SimpleXMLElement("<?xml version='1.0' standalone='yes'?>".$_REQUEST['data']);

	// Пробегаем по всем полученным данным.
	//foreach($_REQUEST as $kline=>$line)
	foreach($xml->item as $kline => $item)
	{
		$item->price = str_replace(',', '.', $item->price); // Запятая в цене.
		$vals = array();
		// Экранируем параметры.
		foreach($item as $k => $val) 
		{
			$vals[$k] = (string)$val;
		}
		$vals['name'] = "'".mysql_escape_string($vals['name'])."'";
		$vals['price'] = "'".mysql_escape_string($vals['price'])."'";
		$vals['subcat_name'] = "'".mysql_escape_string($vals['subcat_name'])."'";
		$vals['desc'] = "'".mysql_escape_string($vals['desc'])."'";	
		$vals['overwrite_image'] = (int)$vals['overwrite_image'];
		//echo 'got:'.print_r($vals, true).'<br>';


		$pcat_id = (int)$categories[(int)$vals['grind']];
		
		echo 'grind='.$vals['grind'].'<br>';
		echo 'rart='.$vals['rart'].'<br>';
		echo 'name='.$vals['name'].'<br>';
		echo 'subcat_name='.$vals['subcat_name'].'<br>';
		echo '$pcat_id='.$pcat_id.'<br>';
		echo '$overwrite_image='.(int)$vals['overwrite_image'].'<br>';
		
		$art = '1'.$vals['rart'];
		
		// Категория не аведена, пропустим элемент.
		if ($pcat_id == 0) continue;

		if ($vals['new'] == "1") // Элемент нужно обновить.
		{
			$ccat_id = add_or_get_category($vals['subcat_name'], $pcat_id);
			if ($ccat_id == -1) continue;
			echo '$ccat_id='.$ccat_id.'<br>';
			
			echo 'Updating '.$art.'<br>';
			// Проверить наличие товара в базе
			//echo 'SELECT count(*) from '.$table.' WHERE product_sku='.$art.'<hr>';
			$r = mysql_query('SELECT count(*) from jos_vm_product WHERE product_sku='.$art);
			$a = mysql_fetch_row($r);				

			//print_r($a);
			echo 'Count='.$a[0].'<br>';
			
			// Если товара нет, добавим его в базу.
			if ($a[0] == 0)
			{
				echo 'Insert '.$art.'<br>';
				
				// Загрузим картинку товара на сайт.
				//$img_dir = 'images/catalog/img'.date('Ymd'); // Путь к папке картинки по дате.
				$img_dir = 'components/com_virtuemart/shop_image/product/images/catalog/img'.date('Ymd'); // Путь к папке картинки по дате.
				if (!file_exists($img_dir)) mkdir($img_dir, 0777, true); // Создаем папку, если ее нет.					
				$new_img = $img_dir.'/'.$art.'.jpg'; // Путь к картинке на сервере.
				$img_data = file_get_contents('http://netlab.ru/'.$vals['img']); // Загружаем картинку.
				if ($img_data)
					echo '<font color="green">Image loaded</font><br>';
				else
					echo '<font color="red">Image not loaded</font><br>';				
				file_put_contents(dirname(__FILE__).'/'.$new_img, $img_data); // Сохраняем картинку на сайте.
				$new_img_small = $img_dir.'/'.$art.'_small.jpg'; // Путь к миниатюре на сервере.
				
				// Добавим товар в базу.
				$sql = 'INSERT INTO jos_vm_product(product_name, product_sku, product_full_image, product_desc, product_thumb_image, product_publish) ';
				$sql.= 'VALUES('.$vals['name'].', '.$art.", '".$new_img."', ".$vals['desc'].',"'.$new_img_small.'", "Y")';
				//echo $sql.'<hr>';
				mysql_unbuffered_query($sql);

				// Получим id товара.
				$sql = 'SELECT max(product_id) as maxid FROM jos_vm_product';
				//echo $sql.'<hr>';
				$a = mysql_fetch_row(mysql_query($sql));
				$prod_id = $a[0];
				
				// Добавим цену товара.
				$sql = 'INSERT INTO jos_vm_product_price(product_id, product_price, product_currency, shopper_group_id) ';
				$sql .= 'VALUES('.$prod_id.', '.$vals['price'].', "USD", 5)';
				//echo $sql.'<hr>';
				mysql_unbuffered_query($sql);

				// Привяжем товар к категории.
				$sql = 'INSERT INTO jos_vm_product_category_xref(category_id, product_id, product_list) ';
				$sql .= 'VALUES('.$ccat_id.', '.$prod_id.', 1)';
				//echo $sql.'<hr>';
				mysql_unbuffered_query($sql);
				
				// Создаем миниатюру картинки.
				
				$si = new SimpleImage(); // СОздаем ресайзер.
				$si->load($new_img); // Загружаем картинку.
				$si->resizeSmart(130, 130); // Масштабируем.
				$si->save($new_img_small); // Сохраняем миниатюру.					
			}
			// Если есть, то обновим данные.
			else
			{
				echo 'Update '.$art.'<br>';
			
				// Получим id товара.
				$sql = 'SELECT product_id as maxid FROM jos_vm_product WHERE product_sku='.$art;
				//echo $sql.'<hr>';
				$a = mysql_fetch_row(mysql_query($sql));
				$prod_id = $a[0];
				
				// Обновим доступность товара.
				//$sql = 'UPDATE '.$table.' SET ';
				//$sql .= ' product_availability='.$vals['has'].'';
				//$sql .= ' WHERE product_id='.$prod_id.'';
				//echo $sql.'<hr>';
				//mysql_unbuffered_query($sql);

				// Обновим категорию товара.
				$sql = 'DELETE FROM jos_vm_product_category_xref WHERE product_id='.$prod_id;
				mysql_unbuffered_query($sql);
								
				$sql = 'INSERT INTO jos_vm_product_category_xref(category_id, product_id, product_list) ';
				$sql .= 'VALUES('.$ccat_id.', '.$prod_id.', 1)';
				mysql_unbuffered_query($sql);

				// Обновим цену товара.
				$sql = 'UPDATE jos_vm_product_price SET ';
				$sql .= ' product_price='.$vals['price'].'';
				$sql .= ' WHERE product_id='.$prod_id.'';
				//echo $sql.'<hr>';
				mysql_unbuffered_query($sql);
				
				
				
				
				if ($vals['overwrite_image'])
				{
					// Загрузим картинку товара на сайт. если нужно
					$img_dir = 'components/com_virtuemart/shop_image/product/images/catalog/img'.date('Ymd'); // Путь к папке картинки по дате.
					if (!file_exists($img_dir))
						if(!mkdir($img_dir, 0777, true)) // Создаем папку, если ее нет.
							echo 'Error creating dir '.$img_dir.'<br>';
							
					$new_img = $img_dir.'/'.$art.'.jpg'; // Путь к картинке на сервере.
					$img_data = file_get_contents('http://netlab.ru/'.$vals['img']); // Загружаем картинку.
					if ($img_data)
						echo '<font color="green">Image loaded</font><br>';
					else
						echo '<font color="red">Image not loaded</font><br>';				
					if (!file_put_contents(dirname(__FILE__).'/'.$new_img, $img_data)) // Сохраняем картинку на сайте.
						echo 'Image not written (0 bytes written)<br>';
					$new_img_small = $img_dir.'/'.$art.'_small.jpg'; // Путь к миниатюре на сервере.
				
					// Добавим товар в базу.					
					$sql = 'UPDATE jos_vm_product SET
						product_full_image="http://anex72.ru/'.mysql_escape_string($new_img).'",
						product_thumb_image="'.mysql_escape_string($new_img_small).'"'.
						'WHERE product_id='.$prod_id;
					mysql_unbuffered_query($sql);
					
					// Создаем миниатюру картинки.
					$si = new SimpleImage(); // СОздаем ресайзер.
					$si->load($new_img); // Загружаем картинку.
					$si->resizeSmart(130, 130); // Масштабируем.
					$si->save($new_img_small); // Сохраняем миниатюру.					
					
					echo 'Image overwriten<br>';
				}
			}
		}
		else // Элемент нужно удалить
		{
			$ccat_id = find_category($vals['subcat_name'], $pcat_id);			
			// Найти ID товара.
			echo 'Removing '.$art.' ccatid='.$ccat_id.'<br>';
			
			//echo 'SELECT product_id from '.$table.' WHERE product_sku='.$art.'<hr>';
			$r = mysql_query('SELECT product_id, product_full_image from jos_vm_product WHERE product_sku='.$art.'');
			if ($a = mysql_fetch_row($r)) // Запись в базе есть.
			{
				$product_id = $a[0];
				// Удалили товар.
				mysql_unbuffered_query('DELETE FROM jos_vm_product WHERE product_id='.$product_id);
				echo mysql_error().'<br>';
				// Удалили цену товара.
				mysql_unbuffered_query('DELETE FROM jos_vm_product_price WHERE product_id='.$product_id);
				echo mysql_error().'<br>';
				// Удалили связку товар-категория.					
				mysql_unbuffered_query('DELETE FROM jos_vm_product_category_xref WHERE product_id='.$product_id);
				echo mysql_error().'<br>';
				// Удалили связку категория-категория.					
				//mysql_unbuffered_query('DELETE FROM jos_vm_category_xref WHERE category_child_id='.$ccat_id );
				//echo mysql_error().'<br>';
				// Удалили категорию.
				//mysql_unbuffered_query('DELETE FROM jos_vm_category WHERE category_id='.$ccat_id);
				//echo mysql_error().'<br>';				
									
				// Удаляем картинку продукта.
				if (file_exists($a[1])) unlink($a[1]);
				echo $art.' Removed<br>';
			}
			else
			{
				echo $art.' Not found<br>';
			}
	
		}
		echo '<hr>';
	}
	echo '<h2>FINISHED in '.(microtime(true) - $time).'</h2>';
?>
</pre>
</body>
</html>